package uade.distribuidas.server.domain;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import uade.distribuidas.repo.dto.RodamientoDTO;
import uade.distribuidas.repo.type.EstadoType;
/**
 * 
 */
@Entity
@Table(name="rodamientos")
public class Rodamiento {

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name = "idrodamiento")	
	private Integer id;	

	@Column(name="marca")
	private String marca;
	
	@Column(name="numeroserie")
	private String numeroSerie;

	@Column(name="origen")
	private String origen;

	@Column(name="precio")
	private float precio;

	@Column(name="sufijo")
	private String sufijo;

	@Column(name="stock")
	private Integer stock;
	
	@Column(name="estado",columnDefinition = "varchar(20) default 'ACTIVO'")
	@Enumerated(EnumType.STRING) 
	private EstadoType estado;
	
    public Rodamiento() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getMarca() {
		return marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public String getNumeroSerie() {
		return numeroSerie;
	}

	public void setNumeroSerie(String numeroSerie) {
		this.numeroSerie = numeroSerie;
	}

	public String getOrigen() {
		return origen;
	}

	public void setOrigen(String origen) {
		this.origen = origen;
	}

	public float getPrecio() {
		return precio;
	}

	public void setPrecio(float precio) {
		this.precio = precio;
	}

	public String getSufijo() {
		return sufijo;
	}

	public void setSufijo(String sufijo) {
		this.sufijo = sufijo;
	}

	public Integer getStock() {
		return stock;
	}

	public void setStock(Integer stock) {
		this.stock = stock;
	}

	public EstadoType getEstado() {
		return estado;
	}

	public void setEstado(EstadoType estado) {
		this.estado = estado;
	}
    
	
    public RodamientoDTO getVista(){
    	RodamientoDTO dto = new RodamientoDTO();
    	dto.setEstado(estado);
    	dto.setId(id);
    	dto.setMarca(marca);
    	dto.setNumeroSerie(numeroSerie);
    	dto.setOrigen(origen);
    	dto.setPrecio(precio);
    	dto.setStock(stock);
    	dto.setSufijo(sufijo);
    	return dto;
    }
    
}
